import requests
from bs4 import BeautifulSoup
"""
需求： 找到北师大公开课http://www.sne.bnu.edu.cn/resource/pxxm/tkbtx/index.html的视频资源并下载
以《社会主义核心价值观》为例， 链接为http://mp4cdn.bnude.cn:8001/courses/d6/open/xxkf/727050/mp4_video_index.html
经过chrome研究我们发现它的视频资源在http://mp4cdn.bnude.cn:8001/courses/d6/open/xxkf/727050/cfgs.html中
所以我们做两步， 第一步， 把首页上所有课程链接找出来
第二步， 打开每一个课程的链接， 找到具体的视频资源地址


"""

#这是视频网站的地址
url='http://www.sne.bnu.edu.cn/resource/pxxm/tkbtx/index.html'
r = requests.get(url, timeout=5)
r.encoding='utf-8'
#print(r.url,r.encoding,r.text)
soup = BeautifulSoup(r.text, 'lxml')
#print(soup.prettify())
links=[]
for li in soup.find_all('li'):
    x=li.a.get('href')
    if x is not '':
        #print(li.a.get('href'))
        #这里是所有的具体的课程地址
        link=li.a.get('href').replace('mp4_video_index.html','')
        links.append(link)
        
        url=link+'cfgs.html'
        r = requests.get(url, timeout=5)
        r.encoding='utf-8'
        #print(r.url,r.encoding,r.text)
        soup1 = BeautifulSoup(r.text, 'lxml')
        #print(soup1.prettify())
        #这里是具体的视频的链接地址
        for li1 in soup1.find_all('li'):
            value0=li1.get('data-src')
            if value0 is not None:
                #注意这里需要把端口号由8001改为7000
                print(link.replace('8001','7000')+'videos/'+value0.split('/')[1]+'.mp4')